package com.hyperfix.washer.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hyperfix.models.washer.dtos.*;
import com.hyperfix.models.washer.pojos.ParamsData;
import com.hyperfix.models.washer.pojos.Record;
import com.hyperfix.models.washer.vos.RecordQueryVO;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author JiangChunYu
 * 2024/4/3
 */
public interface RecordService extends IService<Record> {
    void asyncSave(LocalDateTime time, ParamsData paramsData);

    IPage<RecordDTO> list(Integer pageNum, Integer size, RecordQueryVO recordQueryVO);

    void exportExcel(RecordQueryVO recordQueryVO, HttpServletResponse response);

    Long statisticDayTotalFlow(Integer teamId);

    Long statisticWeekTotalFlow(Integer teamId);

    List<ParamTypeStatistic> statisticWeekParamType(Integer teamId);

    List<StationRiskRecord> statisticTeamRiskRecord(Integer teamId);

    TeamTotalFlow teamWeekTotalFlow(Integer teamId);

    TeamTotalFlowTrend dayTotalFlowTrend(Integer teamId);
}
